package com.yfp.client.service;

import com.yfp.client.domain.dto.ShoppingCartsDto;
import com.yfp.client.domain.vo.ShoppingCartsVo;

import java.util.List;

/**
 *
 * @description 针对表【shopping_carts(购物车表)】的数据库操作Service
 * @createDate 2024-05-24 17:20:15
 */
public interface ShoppingCartsService {

    /**
     * 查询购物车
     *
     * @param machineId 设备id
     * @return 购物车列表
     */
    List<ShoppingCartsVo> findClientShoppingCarts(Long machineId);

    /**
     * 新增购物车
     *
     * @param shoppingCartsDto 购物车传输对象
     */
    void save(ShoppingCartsDto shoppingCartsDto);

    /**
     * 删除购物车
     *
     * @param idList 主键id集合
     */
    void deleteShoppingCartsByIds(Long[] idList);

    /**
     * 修改购物车
     *
     * @param shoppingCartsDto 购物车传输对象
     */
    void updateShoppingCarts(ShoppingCartsDto shoppingCartsDto);

    /**
     * 根据用户id和设备id删除购物车
     *
     * @param clientId    用户id
     * @param machineId 设备id
     */
    void deleteByUserIdAndMachineId(String clientId, String machineId);

    /**
     * 根据购物车id删除购物车
     *
     * @param id 购物车id
     */
    void deleteShoppingCartsById(Long id);
}
